import { Global, Module, DynamicModule } from "@nestjs/common";

interface Config {
    path: string
}

// 动态模块主要就是为了给模块传递参数 可以给该模块添加一个静态方法 用来接受参数
@Global()
@Module({

})
export class ConfigModule {
    static forRoot(option: Config): DynamicModule {
        return {
            module: ConfigModule,
            providers: [
                {
                    provide: 'CONFIG',
                    useValue: 'baseUrl=' + option.path
                }
            ],
            exports: [
                {
                    provide: 'CONFIG',
                    useValue: 'baseUrl=' + option.path
                }
            ]
        }

    }

}